home *** CD-ROM | disk | FTP | other *** search
/ Atari Gold / Atari Gold.iso / om_basic / vollver3.03 / gemlib.bas < prev    next >
Encoding:
BASIC Source File  |  1988-12-08  |  47.4 KB  |  1,092 lines

  1. 64000 DEF PROC Gem: PRINT : PRINT "GEMLIB 3.01": PRINT "Release 08.12.88": RETURN
  2. 64001 END 'GEM Library für OMIKRON-BASIC. Version 3.00.
  3. 64002 'Copyright (C) Artur Södler, Pforzheim & Thomas Kemp, Birkenfeld
  4. 64003 '
  5. 64004 'AES
  6. 64005 '
  7. 64006 DEF PROC Appl_Init: LOCAL X%L,Y%L,W%L,H%L,I%L
  8. 64007    Patch_Basic $63,32,$6604,$6602:Patch_Basic $148,38,$6402,$6404
  9. 64008    DIM Ctrl%(12),Intin%(128),Addrout%L(1),Intout%(128),Ptsin%(1,128),Ptsout%(1,6),Addrin%L(3),Global%(15)
  10. 64009    Mn_Selected%L=10:Wm_Redraw%L=20:Wm_Topped%L=21:Wm_Closed%L=22:Wm_Fulled%L=23:Wm_Arrowed%L=24:Wm_Hslid%L=25
  11. 64010    Wm_Vslid%L=26:Wm_Sized%L=27:Wm_Moved%L=28:Wm_Newtop%L=29:Ac_Open%L=40:Ac_Close%L=41:Mu_Keybd%L=1:Mu_Button%L=2
  12. 64011    Mu_M1%L=4:Mu_M2%L=8:Mu_Mesag%L=16:Mu_Timer%L=32: PRINT "f";: IF Accessory%L=0 THEN Appl_Exit_Sub
  13. 64012    Graf_Handle(Ctrl%(6),W%L,H%L,0,0): MOUSEON : IF Accessory%L THEN EXIT
  14. 64013    MOUSEOFF : NDC :Vs_Ndc: MODE =1: FILL COLOR =1: OUTLINE ON : LINE COLOR =1: LINE STYLE =1
  15. 64014    LINE WIDTH = 1: TEXT COLOR =1: TEXT STYLE =0: TEXT ROTATION = 0: FILL STYLE =0,1:Graf_Mouse(0)
  16. 64015    FOR I%L=1 TO 100:Vst_Height(I%L,0,0,X%L,Y%L): IF X%L=W%L AND Y%L=H%L THEN TEXT HEIGHT =I%L: EXIT ENDIF NEXT I%L
  17. 64016    Wind_Get(0,4,X%L,Y%L,W%L,H%L): CLIP 0,0,W%L,Y%L+H%L: PBOX -1,-1,W%L+2,Y%L+1: FILL STYLE =1,1: CLIP X%L,Y%L,W%L,H%L
  18. 64017    PRINT "fHHY AOMIKRON.BASIC";:Form_Dial(0,X%L,Y%L,W%L,H%L):Form_Dial(3,X%L,Y%L,W%L,H%L): MOUSEON
  19. 64018    RETURN
  20. 64019 '
  21. 64020 DEF PROC Appl_Read(Intin%(1),R Text$,R Intout%(0))
  22. 64021    Intin%(0)=Global%(2):Text$= CHR$(0)*Intin%(1)
  23. 64022    Addrin%L(0)= LPEEK( VARPTR(Text$))+ LPEEK( SEGPTR +28)
  24. 64023    AES (11,Global%(15),Intin%(2),Addrin%L(1),Intout%(1),Addrout%L(0))
  25. 64024    RETURN
  26. 64025 '
  27. 64026 DEF PROC Appl_Write(Intin%(0),Text$,R Intout%(0)):Intin%(1)= LEN(Text$)
  28. 64027    Addrin%L(0)= LPEEK( VARPTR(Text$))+ LPEEK( SEGPTR +28)
  29. 64028    AES (12,Global%(15),Intin%(2),Addrin%L(1),Intout%(1),Addrout%L(0))
  30. 64029    RETURN
  31. 64030 '
  32. 64031 DEF PROC Appl_Find(Text$,R Intout%(0))
  33. 64032    Addrin%L(0)= MEMORY( LEFT$(Text$+ SPC(8),8))
  34. 64033    AES (13,Global%(15),Intin%(0),Addrin%L(1),Intout%(1),Addrout%L(0))
  35. 64034    FRE Addrin%L(0): RETURN
  36. 64035 '
  37. 64036 DEF PROC Appl_Tplay(Intin%(0),Intin%(1),Addrin%L(0))
  38. 64037    AES (14,Global%(15),Intin%(2),Addrin%L(1),Intout%(1),Addrout%L(0))
  39. 64038    RETURN
  40. 64039 '
  41. 64040 DEF PROC Appl_Trecord(Intin%(0),Addrin%L(0))
  42. 64041    AES (15,Global%(15),Intin%(1),Addrin%L(1),Intout%(1),Addrout%L(0))
  43. 64042    RETURN
  44. 64043 '
  45. 64044 DEF PROC Appl_Exit_Sub: LOCAL I%L
  46. 64045    FOR I%L=24 TO 28 STEP 2:Ctrl%(6)= WPEEK(FN Reserved%L(I%L)):V_Clsvwk: NEXT
  47. 64046    FOR I%L=18 TO 22 STEP 2:Ctrl%(6)= WPEEK(FN Reserved%L(I%L)):V_Clswk: NEXT
  48. 64047    FOR I%L=1 TO 10:Wind_Delete(I%L): NEXT
  49. 64048    Form_Dial(3,0,0,1,1)
  50. 64049    Wind_Update(0):Wind_Update(2)
  51. 64050    Vs_Ndc:Menu_Bar
  52. 64051    FOR I%L=6 TO 34 STEP 4
  53. 64052       IF I%L=10 THEN I%L=30
  54. 64053       Global%(5)= WPEEK(FN Reserved%L(I%L)):Global%(6)= WPEEK(FN Reserved%L(I%L+2)):Rsrc_Free
  55. 64054    NEXT I%L
  56. 64055    RETURN
  57. 64056 DEF PROC Appl_Exit
  58. 64057    MOUSEOFF :Appl_Exit_Sub: PRINT "HHeE";
  59. 64058    RETURN
  60. 64059 '
  61. 64060 DEF PROC Evnt_Keybd(R Intout%(0))
  62. 64061    AES (20,Global%(15),Intin%(0),Addrin%L(0),Intout%(1),Addrout%L(0))
  63. 64062    RETURN
  64. 64063 '
  65. 64064 DEF PROC Evnt_Button(Intin%(0),Intin%(1),Intin%(2),R Intout%(0),R Intout%(1),R Intout%(2),R Intout%(3),R Intout%(4))
  66. 64065    AES (21,Global%(15),Intin%(3),Addrin%L(0),Intout%(5),Addrout%L(0))
  67. 64066    RETURN
  68. 64067 '
  69. 64068 DEF PROC Evnt_Mouse(Intin%(0),Intin%(1),Intin%(2),Intin%(3),Intin%(4),R Intout%(1),R Intout%(2),R Intout%(3),R Intout%(4))
  70. 64069    AES (22,Global%(15),Intin%(5),Addrin%L(0),Intout%(5),Addrout%L(0))
  71. 64070    RETURN
  72. 64071 '
  73. 64072 DEF PROC Evnt_Mesag(R Text$):Text$= CHR$(0)*16
  74. 64073    Addrin%L(0)= LPEEK( VARPTR(Text$))+ LPEEK( SEGPTR +28)
  75. 64074    AES (23,Global%(15),Intin%(0),Addrin%L(1),Intout%(1),Addrout%L(0))
  76. 64075    IF CVI(Text$)=41 THEN LPOKE FN Reserved%L(10), LPEEK(FN Reserved%L(10)) AND 7 SHL 29: LPOKE FN Reserved%L(14), LPEEK(FN Reserved%L(14)) AND 7 SHL 29
  77. 64076    RETURN
  78. 64077 '
  79. 64078 DEF PROC Evnt_Timer(T%L):Intin%(0)= LOW(T%L):Intin%(1)= HIGH(T%L)
  80. 64079    AES (24,Global%(15),Intin%(2),Addrin%L(0),Intout%(1),Addrout%L(0))
  81. 64080    RETURN
  82. 64081 '
  83. 64082 DEF PROC Evnt_Multi(Intin%(0),Intin%(1),Intin%(2),Intin%(3),Intin%(4),Intin%(5),Intin%(6),Intin%(7),Intin%(8),Intin%(9),X%L,Y%L,W%L,H%L,T%L,R Text$,R Intout%(0),R Intout%(1),R Intout%(2),R Intout%(3),R Intout%(4),R Intout%(5),R Intout%(6))
  84. 64083    Intin%(10)=X%L:Intin%(11)=Y%L:Intin%(12)=W%L:Intin%(13)=H%L
  85. 64084    Intin%(14)= LOW(T%L):Intin%(15)= HIGH(T%L):Text$= CHR$(0)*16
  86. 64085    Addrin%L(0)= LPEEK( VARPTR(Text$))+ LPEEK( SEGPTR +28)
  87. 64086    AES (25,Global%(15),Intin%(16),Addrin%L(1),Intout%(7),Addrout%L(0))
  88. 64087    IF Intout%(0) AND Mu_Mesag%L THEN
  89. 64088       IF CVI(Text$)=41 THEN LPOKE FN Reserved%L(10), LPEEK(FN Reserved%L(10)) AND 7 SHL 29: LPOKE FN Reserved%L(14), LPEEK(FN Reserved%L(14)) AND 7 SHL 29
  90. 64089    ENDIF RETURN
  91. 64090 '
  92. 64091 DEF PROC Evnt_Dclick(Intin%(1),R Intout%(0)):Intin%(0)=Intout%(0)
  93. 64092    AES (26,Global%(15),Intin%(2),Addrin%L(0),Intout%(1),Addrout%L(0))
  94. 64093    RETURN
  95. 64094 '
  96. 64095 DEF PROC Menu_Bar(X%L)
  97. 64096    Menu_Bar%L=X%L:Addrin%L(0)=X%L:Intin%(0)=1
  98. 64097    BIT (6,(FN Reserved%L(14)))=1
  99. 64098    AES (30,Global%(15),Intin%(1),Addrin%L(1),Intout%(1),Addrout%L(0))
  100. 64099    RETURN
  101. 64100 DEF PROC Menu_Bar
  102. 64101    Intin%(0)=0:Addrin%L(0)=Menu_Bar%L
  103. 64102    IF FN Wind_Check%L(30,4) THEN
  104. 64103       BIT (6,(FN Reserved%L(14)))=0
  105. 64104       AES (30,Global%(15),Intin%(1),Addrin%L(1),Intout%(1),Addrout%L(0))
  106. 64105    ENDIF Menu_Bar%L=0: RETURN
  107. 64106 '
  108. 64107 DEF PROC Menu_Icheck(Intin%(0),Intin%(1)):Addrin%L(0)=Menu_Bar%L
  109. 64108    IF Menu_Bar%L THEN
  110. 64109       AES (31,Global%(15),Intin%(2),Addrin%L(1),Intout%(1),Addrout%L(0))
  111. 64110    ENDIF RETURN
  112. 64111 '
  113. 64112 DEF PROC Menu_Ienable(Intin%(0),Intin%(1)):Addrin%L(0)=Menu_Bar%L
  114. 64113    IF Menu_Bar%L THEN
  115. 64114       AES (32,Global%(15),Intin%(2),Addrin%L(1),Intout%(1),Addrout%L(0))
  116. 64115    ENDIF RETURN
  117. 64116 '
  118. 64117 DEF PROC Menu_Tnormal(Intin%(0),Intin%(1)):Addrin%L(0)=Menu_Bar%L
  119. 64118    IF Menu_Bar%L THEN
  120. 64119       AES (33,Global%(15),Intin%(2),Addrin%L(1),Intout%(1),Addrout%L(0))
  121. 64120    ENDIF RETURN
  122. 64121 '
  123. 64122 DEF PROC Menu_Text(Intin%(0),Text$):Addrin%L(0)=Menu_Bar%L
  124. 64123    Addrin%L(1)= LPEEK( VARPTR(Text$))+ LPEEK( SEGPTR +28)
  125. 64124    IF Menu_Bar%L THEN
  126. 64125       AES (34,Global%(15),Intin%(1),Addrin%L(2),Intout%(1),Addrout%L(0))
  127. 64126    ENDIF RETURN
  128. 64127 '
  129. 64128 DEF PROC Menu_Register(Text$,R Intout%(0))
  130. 64129    Addrin%L(0)= MEMORY(Text$):Intin%(0)=Global%(2)
  131. 64130    AES (35,Global%(15),Intin%(1),Addrin%L(1),Intout%(1),Addrout%L(0))
  132. 64131    RETURN
  133. 64132 '
  134. 64133 DEF PROC Objc_Add(Intin%(0),Intin%(1),Addrin%L(0))
  135. 64134    AES (40,Global%(15),Intin%(2),Addrin%L(1),Intout%(1),Addrout%L(0))
  136. 64135    RETURN
  137. 64136 '
  138. 64137 DEF PROC Objc_Delete(Intin%(0),Addrin%L(0))
  139. 64138    AES (41,Global%(15),Intin%(1),Addrin%L(1),Intout%(1),Addrout%L(0))
  140. 64139    RETURN
  141. 64140 '
  142. 64141 DEF PROC Objc_Draw(Intin%(0),Intin%(1),Intin%(2),Intin%(3),Intin%(4),Intin%(5),Addrin%L(0))
  143. 64142    AES (42,Global%(15),Intin%(6),Addrin%L(1),Intout%(1),Addrout%L(0))
  144. 64143    RETURN
  145. 64144 '
  146. 64145 DEF PROC Objc_Find(Intin%(0),Intin%(1),Intin%(2),Intin%(3),Addrin%L(0),R Intout%(0))
  147. 64146    AES (43,Global%(15),Intin%(4),Addrin%L(1),Intout%(1),Addrout%L(0))
  148. 64147    RETURN
  149. 64148 '
  150. 64149 DEF PROC Objc_Offset(Intin%(0),Addrin%L(0),R Intout%(1),R Intout%(2))
  151. 64150    AES (44,Global%(15),Intin%(1),Addrin%L(1),Intout%(3),Addrout%L(0))
  152. 64151    RETURN
  153. 64152 '
  154. 64153 DEF PROC Objc_Order(Intin%(0),Intin%(1),Addrin%L(0))
  155. 64154    AES (45,Global%(15),Intin%(2),Addrin%L(1),Intout%(1),Addrout%L(0))
  156. 64155    RETURN
  157. 64156 '
  158. 64157 DEF PROC Objc_Edit(Intin%(0),Intin%(1),R Intin%(2),Intin%(3),Addrin%L(0))
  159. 64158    AES (46,Global%(15),Intin%(6),Addrin%L(1),Intout%(2),Addrout%L(0))
  160. 64159    Intin%(2)=Intout%(1): RETURN
  161. 64160 '
  162. 64161 DEF PROC Objc_Change(Intin%(0),Intin%(6),Addrin%L(0))
  163. 64162    Intin%(1)=0:Intin%(7)=0
  164. 64163    AES (47,Global%(15),Intin%(8),Addrin%L(1),Intout%(1),Addrout%L(0))
  165. 64164    RETURN
  166. 64165 DEF PROC Objc_Change(Intin%(0),Intin%(6),Intin%(2),Intin%(3),Intin%(4),Intin%(5),Addrin%L(0))
  167. 64166    Intin%(1)=0:Intin%(7)=1
  168. 64167    AES (47,Global%(15),Intin%(8),Addrin%L(1),Intout%(1),Addrout%L(0))
  169. 64168    RETURN
  170. 64169 '
  171. 64170 DEF PROC Form_Do(Intin%(0),Addrin%L(0),R Intout%(0))
  172. 64171    AES (50,Global%(15),Intin%(1),Addrin%L(1),Intout%(1),Addrout%L(0))
  173. 64172    RETURN
  174. 64173 '
  175. 64174 DEF PROC Form_Dial(I%L,X%L,Y%L,W%L,H%L)
  176. 64175    Form_Dial(I%L,X%L+W%L SHR 1,Y%L+H%L SHR 1,1,1,X%L,Y%L,W%L,H%L): RETURN
  177. 64176 DEF PROC Form_Dial(X%L,Intin%(1),Intin%(2),Intin%(3),Intin%(4),Intin%(5),Intin%(6),Intin%(7),Intin%(8))
  178. 64177    Intin%(0)=X%L
  179. 64178    IF X%L=0 THEN IF FN Wind_Check%L(29,0) THEN EXIT ELSE BIT (5,(FN Reserved%L(10)))=1
  180. 64179    IF X%L=3 THEN IF FN Wind_Check%L(29,0) THEN BIT (5,(FN Reserved%L(10)))=0 ELSE EXIT
  181. 64180    AES (51,Global%(15),Intin%(9),Addrin%L(0),Intout%(1),Addrout%L(0))
  182. 64181    RETURN
  183. 64182 '
  184. 64183 DEF PROC Form_Alert(Intin%(0),Text$,R Intout%(0))
  185. 64184    Addrin%L(0)= MEMORY(Text$)
  186. 64185    AES (52,Global%(15),Intin%(1),Addrin%L(1),Intout%(1),Addrout%L(0))
  187. 64186    FRE Addrin%L(0): RETURN
  188. 64187 '
  189. 64188 DEF PROC Form_Error(Intin%(0))
  190. 64189    AES (53,Global%(15),Intin%(1),Addrin%L(0),Intout%(1),Addrout%L(0))
  191. 64190    RETURN
  192. 64191 '
  193. 64192 DEF PROC Form_Center(Addrin%L(0),R Intout%(1),R Intout%(2),R Intout%(3),R Intout%(4))
  194. 64193    AES (54,Global%(15),Intin%(0),Addrin%L(1),Intout%(5),Addrout%L(0))
  195. 64194    RETURN
  196. 64195 '
  197. 64196 DEF PROC Form_Keybd(Intin%(0),Intin%(1),Intin%(2),Addrin%L(0),R Intout%(0),R Intout%(1),R Intout%(2))
  198. 64197    AES (55,Global%(15),Intin%(3),Addrin%L(1),Intout%(3),Addrout%L(0))
  199. 64198    RETURN
  200. 64199 '
  201. 64200 DEF PROC Form_Button(Intin%(0),Intin%(1),Addrin%L(0),R Intout%(0))
  202. 64201    AES (56,Global%(15),Intin%(2),Addrin%L(1),Intout%(1),Addrout%L(0))
  203. 64202    RETURN
  204. 64203 '
  205. 64204 DEF PROC Graf_Rubberbox(Intin%(0),Intin%(1),Intin%(2),Intin%(3),R Intout%(1),R Intout%(2))
  206. 64205    AES (70,Global%(15),Intin%(4),Addrin%L(0),Intout%(3),Addrout%L(0))
  207. 64206    RETURN
  208. 64207 '
  209. 64208 DEF PROC Graf_Dragbox(Intin%(0),Intin%(1),Intin%(2),Intin%(3),Intin%(4),Intin%(5),Intin%(6),Intin%(7),R Intout%(1),R Intout%(2))
  210. 64209    AES (71,Global%(15),Intin%(8),Addrin%L(0),Intout%(3),Addrout%L(0))
  211. 64210    RETURN
  212. 64211 '
  213. 64212 DEF PROC Graf_Movebox(Intin%(0),Intin%(1),Intin%(2),Intin%(3),Intin%(4),Intin%(5))
  214. 64213    AES (72,Global%(15),Intin%(6),Addrin%L(0),Intout%(1),Addrout%L(0))
  215. 64214    RETURN
  216. 64215 '
  217. 64216 DEF PROC Graf_Growbox(Intin%(0),Intin%(1),Intin%(2),Intin%(3),Intin%(4),Intin%(5),Intin%(6),Intin%(7))
  218. 64217    AES (73,Global%(15),Intin%(8),Addrin%L(0),Intout%(1),Addrout%L(0))
  219. 64218    RETURN
  220. 64219 '
  221. 64220 DEF PROC Graf_Shrinkbox(Intin%(0),Intin%(1),Intin%(2),Intin%(3),Intin%(4),Intin%(5),Intin%(6),Intin%(7))
  222. 64221    AES (74,Global%(15),Intin%(8),Addrin%L(0),Intout%(1),Addrout%L(0))
  223. 64222    RETURN
  224. 64223 '
  225. 64224 DEF PROC Graf_Watchbox(Intin%(1),Intin%(2),Intin%(3),Addrin%L(0),R Intout%(0))
  226. 64225    AES (75,Global%(15),Intin%(4),Addrin%L(1),Intout%(1),Addrout%L(0))
  227. 64226    RETURN
  228. 64227 '
  229. 64228 DEF PROC Graf_Slidebox(Intin%(0),Intin%(1),Intin%(2),Addrin%L(0),R Intout%(0))
  230. 64229    AES (76,Global%(15),Intin%(3),Addrin%L(1),Intout%(1),Addrout%L(0))
  231. 64230    RETURN
  232. 64231 '
  233. 64232 DEF PROC Graf_Handle(R Intout%(0),R Intout%(1),R Intout%(2),R Intout%(3),R Intout%(4))
  234. 64233    AES (77,Global%(15),Intin%(0),Addrin%L(0),Intout%(5),Addrout%L(0))
  235. 64234    RETURN
  236. 64235 DEF PROC Graf_Handle(R Intout%(0))
  237. 64236    AES (77,Global%(15),Intin%(0),Addrin%L(0),Intout%(5),Addrout%L(0))
  238. 64237    RETURN
  239. 64238 '
  240. 64239 DEF PROC Graf_Mouse(X%L,Y%L,W%L,H%L,T%L): LOCAL I%L
  241. 64240    IF Graf_Mouse%L=0 THEN Graf_Mouse%L= MEMORY(74)
  242. 64241    T%L= LPEEK(T%L)+ LPEEK( SEGPTR +20):Intin%(0)=255
  243. 64242    WPOKE Graf_Mouse%L,X%L: WPOKE Graf_Mouse%L+2,Y%L: WPOKE Graf_Mouse%L+4,0
  244. 64243    WPOKE Graf_Mouse%L+6,W%L: WPOKE Graf_Mouse%L+8,H%L
  245. 64244    FOR I%L=0 TO 62 STEP 2: WPOKE Graf_Mouse%L+10+I%L, WPEEK(T%L+I%L): NEXT
  246. 64245    Addrin%L(0)=Graf_Mouse%L
  247. 64246    AES (78,Global%(15),Intin%(1),Addrin%L(1),Intout%(1),Addrout%L(0))
  248. 64247    RETURN
  249. 64248 DEF PROC Graf_Mouse(Intin%(0))
  250. 64249    AES (78,Global%(15),Intin%(1),Addrin%L(1),Intout%(1),Addrout%L(0))
  251. 64250    RETURN
  252. 64251 '
  253. 64252 DEF PROC Graf_Mkstate(R Intout%(1),R Intout%(2),R Intout%(3),R Intout%(4))
  254. 64253    AES (79,Global%(15),Intin%(0),Addrin%L(0),Intout%(5),Addrout%L(0))
  255. 64254    RETURN
  256. 64255 '
  257. 64256 DEF PROC Scrp_Read(R Text$)
  258. 64257    Addrin%L(0)= LPEEK( VARPTR(Text$))+ LPEEK( SEGPTR +28)
  259. 64258    AES (80,Global%(15),Intin%(0),Addrin%L(1),Intout%(1),Addrout%L(0))
  260. 64259    RETURN
  261. 64260 '
  262. 64261 DEF PROC Scrp_Write(Text$)
  263. 64262    Addrin%L(0)= LPEEK( VARPTR(Text$))+ LPEEK( SEGPTR +28)
  264. 64263    AES (81,Global%(15),Intin%(0),Addrin%L(1),Intout%(1),Addrout%L(0))
  265. 64264    RETURN
  266. 64265 '
  267. 64266 DEF PROC Fsel_Input(R Path$,R Text$,R Intout%(1)): LOCAL X%L
  268. 64267    Path$= LEFT$(Path$+ CHR$(0)*64,64):Text$= LEFT$(Text$+ CHR$(0)*13,13)
  269. 64268    X%L= VARPTR(Text$):Addrin%L(0)= LPEEK( VARPTR(Path$))+ LPEEK( SEGPTR +28)
  270. 64269    Addrin%L(1)= LPEEK(X%L)+ LPEEK( SEGPTR +28)
  271. 64270    AES (90,Global%(15),Intin%(0),Addrin%L(2),Intout%(2),Addrout%L(0))
  272. 64271    Text$= LEFT$(Text$, INSTR(Text$+ CHR$(0), CHR$(0))-1)
  273. 64272    Path$= LEFT$(Path$, INSTR(Path$+ CHR$(0), CHR$(0))-1): RETURN
  274. 64273 '
  275. 64274 DEF PROC Fsel_Exinput(R Path$,R Text$,Label$,R Intout%(1)): LOCAL X%L,Y%L,W%L,H%L,I%L,L%L,T%L
  276. 64275    IF WPEEK( LPEEK($4F2)+2)<$104 THEN
  277. 64276       IF PEEK($44C)=0 THEN X%L=0:Y%L=26:W%L=320:H%L=15
  278. 64277       IF PEEK($44C)=1 THEN X%L=157:Y%L=26:W%L=326:H%L=15
  279. 64278       IF PEEK($44C)=2 THEN X%L=157:Y%L=54:W%L=326:H%L=30
  280. 64279       L%L= LPEEK( SEGPTR -24):T%L= WPEEK(L%L): WPOKE L%L,0:L%L=Ctrl%(6):Graf_Handle(Ctrl%(6)):Vs_Clip
  281. 64280       MOUSEOFF :Vswr_Mode(1):Vsf_Perimeter(1):Vsf_Interior(0):Vsf_Color(1)
  282. 64281       Vqt_Extent(Label$,0,0,I%L,0,0,0,0,0):I%L=I%L+10: IF I%L>=W%L THEN X%L=X%L-(I%L+1-W%L) SHR 1:W%L=I%L+1
  283. 64282       V_Bar(X%L,Y%L-H%L,X%L+W%L-1,Y%L+4):V_Bar(X%L+3,Y%L-H%L+3,X%L+W%L-4,Y%L+1):V_Bar(X%L+4,Y%L-H%L+4,X%L+W%L-5,Y%L)
  284. 64283       V_Gtext(X%L+(W%L-I%L-1) SHR 1+5,Y%L-H%L\3+3,Label$): MOUSEON
  285. 64284       PROC Fsel_Input(Path$,Text$,Intout%(1))
  286. 64285       Form_Dial(0,X%L,Y%L-H%L,W%L,H%L):Form_Dial(3,X%L,Y%L-H%L,W%L,H%L):Ctrl%(6)=L%L: WPOKE LPEEK( SEGPTR -24),T%L
  287. 64286    ELSE
  288. 64287       Path$= LEFT$(Path$+ CHR$(0)*64,64):Text$= LEFT$(Text$+ CHR$(0)*13,13)
  289. 64288       X%L= VARPTR(Text$):Y%L= VARPTR(Label$)
  290. 64289       Addrin%L(0)= LPEEK( VARPTR(Path$))+ LPEEK( SEGPTR +28)
  291. 64290       Addrin%L(1)= LPEEK(X%L)+ LPEEK( SEGPTR +28)
  292. 64291       Addrin%L(2)= LPEEK(Y%L)+ LPEEK( SEGPTR +28)
  293. 64292       AES (91,Global%(15),Intin%(0),Addrin%L(3),Intout%(2),Addrout%L(0))
  294. 64293       Text$= LEFT$(Text$, INSTR(Text$+ CHR$(0), CHR$(0))-1)
  295. 64294       Path$= LEFT$(Path$, INSTR(Path$+ CHR$(0), CHR$(0))-1)
  296. 64295    ENDIF RETURN
  297. 64296 '
  298. 64297 DEF FN Wind_Check%L(W%L,H%L)
  299. 64298    IF W%L<1 THEN H%L=0 ELSE H%L= BIT(W%L, LPEEK(FN Reserved%L(10+H%L)))
  300. 64299    RETURN H%L
  301. 64300 '
  302. 64301 DEF PROC Wind_Create(Intin%(0),Intin%(1),Intin%(2),Intin%(3),Intin%(4),R Intout%(0))
  303. 64302    AES (100,Global%(15),Intin%(5),Addrin%L(0),Intout%(1),Addrout%L(0))
  304. 64303    IF Intout%(0)>0 THEN LPOKE FN Reserved%L(10), LPEEK(FN Reserved%L(10)) OR 1 SHL Intout%(0)
  305. 64304    RETURN
  306. 64305 '
  307. 64306 DEF PROC Wind_Open(W%L,Intin%(1),Intin%(2),Intin%(3),Intin%(4))
  308. 64307    IF W%L>0 THEN
  309. 64308       IF FN Wind_Check%L(W%L,4)=0 THEN
  310. 64309          LPOKE FN Reserved%L(14), LPEEK(FN Reserved%L(14)) OR 1 SHL W%L:Intin%(0)=W%L
  311. 64310          AES (101,Global%(15),Intin%(5),Addrin%L(0),Intout%(1),Addrout%L(0))
  312. 64311       ENDIF
  313. 64312    ENDIF RETURN
  314. 64313 '
  315. 64314 DEF PROC Wind_Close(W%L)
  316. 64315    IF FN Wind_Check%L(W%L,4) THEN
  317. 64316       LPOKE FN Reserved%L(14), LPEEK(FN Reserved%L(14)) XOR 1 SHL W%L:Intin%(0)=W%L
  318. 64317       AES (102,Global%(15),Intin%(1),Addrin%L(0),Intout%(1),Addrout%L(0))
  319. 64318    ENDIF RETURN
  320. 64319 '
  321. 64320 DEF PROC Wind_Delete(W%L):Wind_Close(W%L)
  322. 64321    IF FN Wind_Check%L(W%L,0) THEN
  323. 64322       LPOKE FN Reserved%L(10), LPEEK(FN Reserved%L(10)) XOR 1 SHL W%L:Intin%(0)=W%L
  324. 64323       AES (103,Global%(15),Intin%(1),Addrin%L(0),Intout%(1),Addrout%L(0))
  325. 64324    ENDIF RETURN
  326. 64325 '
  327. 64326 DEF PROC Wind_Get(Intin%(0),Intin%(1),R Intout%(1))
  328. 64327    IF FN Wind_Check%L(Intin%(0),0)=0 AND Intin%(1)<>10 THEN EXIT
  329. 64328    AES (104,Global%(15),Intin%(2),Addrin%L(0),Intout%(5),Addrout%L(0))
  330. 64329    RETURN
  331. 64330 DEF PROC Wind_Get(Intin%(0),Intin%(1),R Intout%(1),R Intout%(2),R Intout%(3),R Intout%(4))
  332. 64331    IF FN Wind_Check%L(Intin%(0),0)=0 AND Intin%(0) THEN EXIT
  333. 64332    AES (104,Global%(15),Intin%(2),Addrin%L(0),Intout%(5),Addrout%L(0))
  334. 64333    RETURN
  335. 64334 '
  336. 64335 DEF PROC Wind_Set(Intin%(0))
  337. 64336    IF FN Wind_Check%L(Intin%(0),4)=0 THEN EXIT
  338. 64337    Intin%(1)=10:Intin%(2)=Intin%(0)
  339. 64338    AES (105,Global%(15),Intin%(6),Addrin%L(0),Intout%(1),Addrout%L(0))
  340. 64339    RETURN
  341. 64340 DEF PROC Wind_Set(X%L,Intin%(4))
  342. 64341    Intin%(2)= HIGH(X%L):Intin%(3)= LOW(X%L):Intin%(0)=0:Intin%(1)=14
  343. 64342    AES (105,Global%(15),Intin%(6),Addrin%L(0),Intout%(1),Addrout%L(0))
  344. 64343    RETURN
  345. 64344 DEF PROC Wind_Set(Intin%(0),Intin%(1),Intin%(2))
  346. 64345    IF FN Wind_Check%L(Intin%(0),0)=0 THEN EXIT
  347. 64346    AES (105,Global%(15),Intin%(6),Addrin%L(0),Intout%(1),Addrout%L(0))
  348. 64347    RETURN
  349. 64348 DEF PROC Wind_Set(Intin%(0),Intin%(1),Text$,X%L): LOCAL I%L
  350. 64349    IF FN Wind_Check%L(Intin%(0),0)=0 THEN EXIT
  351. 64350    Intin%(2)= HIGH(X%L):Intin%(3)= LOW(X%L)
  352. 64351    FOR I%L=1 TO LEN(Text$): POKE X%L+I%L-1, ASC( MID$(Text$,I%L)): NEXT : POKE X%L+I%L-1,0
  353. 64352    AES (105,Global%(15),Intin%(6),Addrin%L(0),Intout%(1),Addrout%L(0))
  354. 64353    RETURN
  355. 64354 DEF PROC Wind_Set(Intin%(0),Intin%(2),Intin%(3),Intin%(4),Intin%(5))
  356. 64355    IF FN Wind_Check%L(Intin%(0),0)=0 THEN EXIT
  357. 64356    Intin%(1)=5
  358. 64357    AES (105,Global%(15),Intin%(6),Addrin%L(0),Intout%(1),Addrout%L(0))
  359. 64358    RETURN
  360. 64359 '
  361. 64360 DEF PROC Wind_Find(Intin%(0),Intin%(1),R Intout%(0))
  362. 64361    AES (106,Global%(15),Intin%(2),Addrin%L(0),Intout%(1),Addrout%L(0))
  363. 64362    RETURN
  364. 64363 '
  365. 64364 DEF PROC Wind_Update(X%L):Intin%(0)=X%L
  366. 64365    IF X%L=0 THEN IF FN Wind_Check%L(30,0)=0 THEN EXIT ELSE BIT (6,(FN Reserved%L(10)))=0
  367. 64366    IF X%L=1 THEN IF FN Wind_Check%L(30,0) THEN EXIT ELSE BIT (6,(FN Reserved%L(10)))=1
  368. 64367    IF X%L=2 THEN IF FN Wind_Check%L(31,0)=0 THEN EXIT ELSE BIT (7,(FN Reserved%L(10)))=0
  369. 64368    IF X%L=3 THEN IF FN Wind_Check%L(31,0) THEN EXIT ELSE BIT (7,(FN Reserved%L(10)))=1
  370. 64369    AES (107,Global%(15),Intin%(1),Addrin%L(0),Intout%(1),Addrout%L(0))
  371. 64370    RETURN
  372. 64371 '
  373. 64372 DEF PROC Wind_Calc(Intin%(0),Intin%(1),Intin%(2),Intin%(3),Intin%(4),Intin%(5),R Intout%(1),R Intout%(2),R Intout%(3),R Intout%(4))
  374. 64373    AES (108,Global%(15),Intin%(6),Addrin%L(0),Intout%(5),Addrout%L(0))
  375. 64374    RETURN
  376. 64375 '
  377. 64376 DEF PROC Wind_New: LOCAL I%L
  378. 64377    IF WPEEK( LPEEK($4F2)+2)<$104 THEN
  379. 64378       FOR I%L=1 TO 10:Wind_Delete(I%L): NEXT
  380. 64379       REPEAT
  381. 64380          Wind_Get(0,10,I%L)
  382. 64381          IF I%L>0 THEN
  383. 64382             LPOKE FN Reserved%L(14), LPEEK(FN Reserved%L(14)) XOR 1 SHL I%L
  384. 64383             LPOKE FN Reserved%L(10), LPEEK(FN Reserved%L(10)) XOR 1 SHL I%L
  385. 64384             Wind_Delete(I%L)
  386. 64385          ENDIF
  387. 64386       UNTIL I%L<=0
  388. 64387       Form_Dial(3,0,0,1,1)
  389. 64388       Wind_Update(0):Wind_Update(2)
  390. 64389    ELSE
  391. 64390       AES (109,Global%(15),Intin%(0),Addrin%L(0),Intout%(0),Addrout%L(0))
  392. 64391       LPOKE FN Reserved%L(10),0: LPOKE FN Reserved%L(14),0
  393. 64392    ENDIF RETURN
  394. 64393 '
  395. 64394 DEF FN Rsrc_Check%L(V%L)
  396. 64395    IF LPEEK(FN Reserved%L(6))=V%L THEN
  397. 64396       V%L=6 ELSE IF LPEEK(FN Reserved%L(30))=V%L THEN
  398. 64397       V%L=30 ELSE IF LPEEK(FN Reserved%L(34))=V%L THEN
  399. 64398       V%L=34 ELSE V%L=0 ENDIF ENDIF ENDIF RETURN V%L
  400. 64399 DEF PROC Rsrc_Load(Text$,R Intout%(0))
  401. 64400    IF FN Rsrc_Check%L(0)=0 THEN Intout%(0)=0: EXIT
  402. 64401    Rsrc_Free:Addrin%L(0)= MEMORY(Text$)
  403. 64402    AES (110,Global%(15),Intin%(0),Addrin%L(1),Intout%(1),Addrout%L(0))
  404. 64403    LPOKE FN Reserved%L(FN Rsrc_Check%L(0)),Global%(5) SHL 16 OR Global%(6) AND $FFFF: FRE Addrin%L(0)
  405. 64404    RETURN
  406. 64405 '
  407. 64406 DEF PROC Rsrc_Free: LOCAL X%L
  408. 64407    X%L=FN Rsrc_Check%L(Global%(5) SHL 16 OR Global%(6) AND $FFFF)
  409. 64408    IF X%L=0 THEN Intout%(0)=0: EXIT
  410. 64409    AES (111,Global%(15),Intin%(0),Addrin%L(0),Intout%(1),Addrout%L(0)): LPOKE FN Reserved%L(X%L),0
  411. 64410    RETURN
  412. 64411 '
  413. 64412 DEF PROC Rsrc_Gaddr(Intin%(0),Intin%(1),R Addrout%L(0))
  414. 64413    AES (112,Global%(15),Intin%(2),Addrin%L(0),Intout%(1),Addrout%L(1))
  415. 64414    RETURN
  416. 64415 '
  417. 64416 DEF PROC Rsrc_Saddr(Intin%(0),Intin%(1),Addrin%L(0))
  418. 64417    AES (113,Global%(15),Intin%(2),Addrin%L(1),Intout%(1),Addrout%L(0))
  419. 64418    RETURN
  420. 64419 '
  421. 64420 DEF PROC Rsrc_Obfix(Intin%(0),Addrin%L(0))
  422. 64421    AES (114,Global%(15),Intin%(1),Addrin%L(1),Intout%(1),Addrout%L(0))
  423. 64422    RETURN
  424. 64423 '
  425. 64424 DEF PROC Shel_Read(R Path$,R Text$): LOCAL X%L
  426. 64425    Path$= CHR$(0)*128:X%L= VARPTR(Path$):Text$= CHR$(0)*128
  427. 64426    Addrin%L(1)= LPEEK( VARPTR(Text$))+ LPEEK( SEGPTR +28)
  428. 64427    Addrin%L(0)= LPEEK(X%L)+ LPEEK( SEGPTR +28)
  429. 64428    AES (120,Global%(15),Intin%(0),Addrin%L(2),Intout%(1),Addrout%L(0))
  430. 64429    Text$= LEFT$(Text$, INSTR(Text$+ CHR$(0), CHR$(0))-1)
  431. 64430    Path$= LEFT$(Path$, INSTR(Path$+ CHR$(0), CHR$(0))-1)
  432. 64431    RETURN
  433. 64432 '
  434. 64433 DEF PROC Shel_Write(Intin%(0),Intin%(1),Intin%(2),Path$,Text$)
  435. 64434    Addrin%L(0)= VARPTR(Path$)
  436. 64435    Addrin%L(1)= MEMORY(Text$)
  437. 64436    AES (121,Global%(15),Intin%(3),Addrin%L(2),Intout%(1),Addrout%L(0)): FRE Addrin%L(0): FRE Addrin%L(1)
  438. 64437    RETURN
  439. 64438 '
  440. 64439 DEF PROC Shel_Get(R Text$)
  441. 64440    Intin%(0)= LEN(Text$):Addrin%L(0)= LPEEK( VARPTR(Text$))+ LPEEK( SEGPTR +28)
  442. 64441    AES (122,Global%(15),Intin%(1),Addrin%L(1),Intout%(1),Addrout%L(0))
  443. 64442    Text$= LEFT$(Text$, INSTR(Text$+ CHR$(0), CHR$(0))-1)
  444. 64443    RETURN
  445. 64444 '
  446. 64445 DEF PROC Shel_Put(Text$)
  447. 64446    Intin%(0)= LEN(Text$):Addrin%L(0)= LPEEK( VARPTR(Text$))+ LPEEK( SEGPTR +28)
  448. 64447    AES (123,Global%(15),Intin%(1),Addrin%L(1),Intout%(1),Addrout%L(0))
  449. 64448    RETURN
  450. 64449 '
  451. 64450 DEF PROC Shel_Find(R Text$,R Intout%(0))
  452. 64451    Text$= LEFT$(Text$+ CHR$(0)*128,128)
  453. 64452    Addrin%L(0)= LPEEK( VARPTR(Text$))+ LPEEK( SEGPTR +28)
  454. 64453    AES (124,Global%(15),Intin%(0),Addrin%L(1),Intout%(1),Addrout%L(0))
  455. 64454    RETURN
  456. 64455 '
  457. 64456 DEF PROC Shel_Envrn(Text$,R Path$): LOCAL X%L= MEMORY(Text$),Y%L,W%L,H%L
  458. 64457    IF WPEEK( LPEEK($4F2)+2)<$104 THEN
  459. 64458       ' TOS vor 1.04
  460. 64459       IF LPEEK( SEGPTR +20)=0 THEN Y%L=64 ELSE Y%L=-12
  461. 64460       W%L= LPEEK( LPEEK( SEGPTR +Y%L)+$2C)
  462. 64461       WHILE PEEK(W%L)
  463. 64462          H%L=-1:Y%L=X%L
  464. 64463          REPEAT
  465. 64464             H%L=H%L AND ( PEEK(Y%L)= PEEK(W%L))
  466. 64465             W%L=W%L+1:Y%L=Y%L+1
  467. 64466          UNTIL PEEK(W%L-1)= ASC("=") OR PEEK(W%L-1)=0
  468. 64467          IF PEEK(W%L-1)= ASC("=") AND H%L THEN H%L=W%L: EXIT
  469. 64468          WHILE PEEK(W%L-1):W%L=W%L+1: WEND
  470. 64469          H%L=0
  471. 64470       WEND
  472. 64471       FRE X%L
  473. 64472    ELSE
  474. 64473       Y%L= MEMORY(4):Addrin%L(1)=X%L:Addrin%L(1)=Y%L
  475. 64474       AES (125,Global%(15),Intin%(0),Addrin%L(2),Intout%(1),Addrout%L(0))
  476. 64475       FRE X%L:H%L= LPEEK(Y%L): FRE Y%L:Path$=""
  477. 64476    ENDIF
  478. 64477    Path$=""
  479. 64478    IF H%L THEN
  480. 64479       Y%L=H%L
  481. 64480       IF PEEK(H%L)=0 THEN H%L=H%L+1
  482. 64481       WHILE PEEK(H%L):Path$=Path$+ CHR$( PEEK(H%L)):H%L=H%L+1: WEND
  483. 64482       IF PEEK(Y%L)=0 AND RIGHT$(Path$,1)="=" THEN Path$=""
  484. 64483    ENDIF RETURN
  485. 64484 '
  486. 64485 'VDI
  487. 64486 '
  488. 64487 DEF PROC V_Pline(X%L)
  489. 64488    VDI (6,Ctrl%(12),Intin%(0),Ptsin%(0,X%L),Intout%(0),Ptsout%(0,0))
  490. 64489    RETURN
  491. 64490 '
  492. 64491 DEF PROC V_Pmarker(X%L)
  493. 64492    VDI (7,Ctrl%(12),Intin%(0),Ptsin%(0,X%L),Intout%(0),Ptsout%(0,0))
  494. 64493    RETURN
  495. 64494 '
  496. 64495 DEF PROC V_Gtext(Ptsin%(0,0),Ptsin%(1,0),Text$): LOCAL I%L
  497. 64496    FOR I%L=0 TO LEN(Text$)-1:Intin%(I%L)= ASC( MID$(Text$,I%L+1,1)): NEXT
  498. 64497    VDI (8,Ctrl%(12),Intin%(I%L),Ptsin%(0,1),Intout%(0),Ptsout%(0,0))
  499. 64498    RETURN
  500. 64499 '
  501. 64500 DEF PROC V_Fillarea(X%L)
  502. 64501    VDI (9,Ctrl%(12),Intin%(0),Ptsin%(0,X%L),Intout%(0),Ptsout%(0,0))
  503. 64502    RETURN
  504. 64503 '
  505. 64504 DEF PROC V_Cellarray(Ctrl%(7),Ctrl%(8),Ctrl%(9),Ctrl%(10),X%L,Ptsin%(0,0),Ptsin%(1,0),Ptsin%(0,1),Ptsin%(1,1))
  506. 64505    VDI (10,Ctrl%(12),Intin%(X%L),Ptsin%(0,2),Intout%(0),Ptsout%(0,0))
  507. 64506    RETURN
  508. 64507 '
  509. 64508 DEF PROC V_Bar(Ptsin%(0,0),Ptsin%(1,0),Ptsin%(0,1),Ptsin%(1,1))
  510. 64509    Ctrl%(5)=1
  511. 64510    VDI (11,Ctrl%(12),Intin%(0),Ptsin%(0,2),Intout%(0),Ptsout%(0,0))
  512. 64511    RETURN
  513. 64512 '
  514. 64513 DEF PROC V_Arc(Intin%(0),Intin%(1),Ptsin%(0,0),Ptsin%(1,0),Ptsin%(0,3))
  515. 64514    Ctrl%(5)=2:Ptsin%(0,1)=0:Ptsin%(1,1)=0:Ptsin%(0,2)=0
  516. 64515    Ptsin%(1,2)=0:Ptsin%(1,3)=0
  517. 64516    VDI ($800000B,Ctrl%(12),Intin%(2),Ptsin%(0,4),Intout%(0),Ptsout%(0,0))
  518. 64517    RETURN
  519. 64518 '
  520. 64519 DEF PROC V_Pieslice(Intin%(0),Intin%(1),Ptsin%(0,0),Ptsin%(1,0),Ptsin%(0,3))
  521. 64520    Ctrl%(5)=3:Ptsin%(0,1)=0:Ptsin%(1,1)=0:Ptsin%(0,2)=0
  522. 64521    Ptsin%(1,2)=0:Ptsin%(1,3)=0
  523. 64522    VDI ($800000B,Ctrl%(12),Intin%(2),Ptsin%(0,4),Intout%(0),Ptsout%(0,0))
  524. 64523    RETURN
  525. 64524 '
  526. 64525 DEF PROC V_Circle(Ptsin%(0,0),Ptsin%(1,0),Ptsin%(0,2))
  527. 64526    Ctrl%(5)=4:Ptsin%(0,1)=0:Ptsin%(1,1)=0:Ptsin%(1,2)=0
  528. 64527    VDI ($400000B,Ctrl%(12),Intin%(0),Ptsin%(0,3),Intout%(0),Ptsout%(0,0))
  529. 64528    RETURN
  530. 64529 '
  531. 64530 DEF PROC V_Ellipse(Ptsin%(0,0),Ptsin%(1,0),Ptsin%(0,1),Ptsin%(1,1))
  532. 64531    Ctrl%(5)=5
  533. 64532    VDI ($200000B,Ctrl%(12),Intin%(0),Ptsin%(0,2),Intout%(0),Ptsout%(0,0))
  534. 64533    RETURN
  535. 64534 '
  536. 64535 DEF PROC V_Ellarc(Ptsin%(0,0),Ptsin%(1,0),Ptsin%(0,1),Ptsin%(1,1),Intin%(0),Intin%(1))
  537. 64536    Ctrl%(5)=6
  538. 64537    VDI ($200000B,Ctrl%(12),Intin%(2),Ptsin%(0,2),Intout%(0),Ptsout%(0,0))
  539. 64538    RETURN
  540. 64539 '
  541. 64540 DEF PROC V_Ellpie(Ptsin%(0,0),Ptsin%(1,0),Ptsin%(0,1),Ptsin%(1,1),Intin%(0),Intin%(1))
  542. 64541    Ctrl%(5)=7
  543. 64542    VDI ($200000B,Ctrl%(12),Intin%(2),Ptsin%(0,2),Intout%(0),Ptsout%(0,0))
  544. 64543    RETURN
  545. 64544 '
  546. 64545 DEF PROC V_Rbox(Ptsin%(0,0),Ptsin%(1,0),Ptsin%(0,1),Ptsin%(1,1))
  547. 64546    Ctrl%(5)=8
  548. 64547    VDI (11,Ctrl%(12),Intin%(0),Ptsin%(0,2),Intout%(0),Ptsout%(0,0))
  549. 64548    RETURN
  550. 64549 '
  551. 64550 DEF PROC V_Rfbox(Ptsin%(0,0),Ptsin%(1,0),Ptsin%(0,1),Ptsin%(1,1))
  552. 64551    Ctrl%(5)=9
  553. 64552    VDI (11,Ctrl%(12),Intin%(0),Ptsin%(0,2),Intout%(0),Ptsout%(0,0))
  554. 64553    RETURN
  555. 64554 '
  556. 64555 DEF PROC V_Justified(Ptsin%(0,0),Ptsin%(1,0),Text$,Intin%(0),Intin%(1),Ptsin%(0,1))
  557. 64556    LOCAL I%L:Ctrl%(5)=10
  558. 64557    FOR I%L=1 TO LEN(Text$):Intin%(I%L+1)= ASC( MID$(Text$,I%L)): NEXT :Intin%(I%L+1)=0
  559. 64558    VDI ($200000B,Ctrl%(12),Intin%(I%L+2),Ptsin%(0,2),Intout%(0),Ptsout%(0,0))
  560. 64559    RETURN
  561. 64560 '
  562. 64561 DEF PROC Vst_Height(Ptsin%(1,0))
  563. 64562    VDI ($103000C,Ctrl%(12),Intin%(0),Ptsin%(0,1),Intout%(0),Ptsout%(0,2))
  564. 64563    RETURN
  565. 64564 DEF PROC Vst_Height(Ptsin%(1,0),R Ptsout%(0,0),R Ptsout%(1,0),R Ptsout%(0,1),R Ptsout%(1,1))
  566. 64565    VDI ($103000C,Ctrl%(12),Intin%(0),Ptsin%(0,1),Intout%(0),Ptsout%(0,2))
  567. 64566    RETURN
  568. 64567 '
  569. 64568 DEF PROC Vst_Rotation(Intin%(0))
  570. 64569    VDI (13,Ctrl%(12),Intin%(1),Ptsin%(0,0),Intout%(0),Ptsout%(0,0))
  571. 64570    RETURN
  572. 64571 '
  573. 64572 DEF PROC Vs_Color(Intin%(0),Intin%(1),Intin%(2),Intin%(3))
  574. 64573    VDI (14,Ctrl%(12),Intin%(4),Ptsin%(0,0),Intout%(0),Ptsout%(0,0))
  575. 64574    RETURN
  576. 64575 '
  577. 64576 DEF PROC Vst_Font(Intin%(0))
  578. 64577    VDI (21,Ctrl%(12),Intin%(1),Ptsin%(0,0),Intout%(0),Ptsout%(0,0))
  579. 64578    RETURN
  580. 64579 '
  581. 64580 DEF PROC Vsl_Type(Intin%(0))
  582. 64581    VDI (15,Ctrl%(12),Intin%(1),Ptsin%(0,0),Intout%(0),Ptsout%(0,0))
  583. 64582    RETURN
  584. 64583 '
  585. 64584 DEF PROC Vsl_Width(Ptsin%(0,0))
  586. 64585    VDI ($1010010,Ctrl%(12),Intin%(0),Ptsin%(0,1),Intout%(0),Ptsout%(0,0))
  587. 64586    RETURN
  588. 64587 '
  589. 64588 DEF PROC Vsl_Color(Intin%(0))
  590. 64589    VDI (17,Ctrl%(12),Intin%(1),Ptsin%(0,0),Intout%(0),Ptsout%(0,0))
  591. 64590    RETURN
  592. 64591 '
  593. 64592 DEF PROC Vsm_Type(Intin%(0))
  594. 64593    VDI (18,Ctrl%(12),Intin%(1),Ptsin%(0,0),Intout%(0),Ptsout%(0,0))
  595. 64594    RETURN
  596. 64595 '
  597. 64596 DEF PROC Vsm_Height(Ptsin%(1,0))
  598. 64597    Ptsin%(0,0)=0
  599. 64598    VDI ($1010013,Ctrl%(12),Intin%(0),Ptsin%(0,1),Intout%(0),Ptsout%(0,1))
  600. 64599    RETURN
  601. 64600 '
  602. 64601 DEF PROC Vsm_Color(Intin%(0))
  603. 64602    VDI (20,Ctrl%(12),Intin%(1),Ptsin%(0,0),Intout%(0),Ptsout%(0,0))
  604. 64603    RETURN
  605. 64604 '
  606. 64605 DEF PROC Vst_Color(Intin%(0))
  607. 64606    VDI (22,Ctrl%(12),Intin%(1),Ptsin%(0,0),Intout%(0),Ptsout%(0,0))
  608. 64607    RETURN
  609. 64608 '
  610. 64609 DEF PROC Vsf_Interior(Intin%(0))
  611. 64610    VDI (23,Ctrl%(12),Intin%(1),Ptsin%(0,0),Intout%(0),Ptsout%(0,0))
  612. 64611    RETURN
  613. 64612 '
  614. 64613 DEF PROC Vsf_Style(Intin%(0))
  615. 64614    VDI (24,Ctrl%(12),Intin%(1),Ptsin%(0,0),Intout%(0),Ptsout%(0,0))
  616. 64615    RETURN
  617. 64616 '
  618. 64617 DEF PROC Vsf_Color(Intin%(0))
  619. 64618    VDI (25,Ctrl%(12),Intin%(1),Ptsin%(0,0),Intout%(0),Ptsout%(0,0))
  620. 64619    RETURN
  621. 64620 '
  622. 64621 DEF PROC Vq_Color(Intin%(0),Intin%(1),R Intout%(0),R Intout%(1),R Intout%(2),R Intout%(3))
  623. 64622    VDI (26,Ctrl%(12),Intin%(2),Ptsin%(0,0),Intout%(4),Ptsout%(0,0))
  624. 64623    RETURN
  625. 64624 '
  626. 64625 DEF PROC Vrq_Locator(Ptsin%(0,0),Ptsin%(1,0),R Intout%(0),R Ptsout%(0,0),R Ptsout%(1,0))
  627. 64626    Vsin_Mode(1,1)
  628. 64627    VDI (28,Ctrl%(12),Intin%(0),Ptsin%(0,1),Intout%(1),Ptsout%(0,1))
  629. 64628    RETURN
  630. 64629 '
  631. 64630 DEF PROC Vsm_Locator(Ptsin%(0,0),Ptsin%(1,0),R X%L,R Intout%(0),R Ptsout%(0,0),R Ptsout%(1,0))
  632. 64631    Vsin_Mode(1,2)
  633. 64632    VDI (28,Ctrl%(12),Intin%(0),Ptsin%(0,1),Intout%(1),Ptsout%(0,1))
  634. 64633    X%L=Ctrl%(4)*2+Ctrl%(2)
  635. 64634    RETURN
  636. 64635 '
  637. 64636 DEF PROC Vrq_Valuator(Intin%(0),R Intout%(0),R Intout%(1))
  638. 64637    Vsin_Mode(2,1)
  639. 64638    VDI (29,Ctrl%(12),Intin%(1),Ptsin%(0,0),Intout%(2),Ptsout%(0,0))
  640. 64639    RETURN
  641. 64640 '
  642. 64641 DEF PROC Vsm_Valuator(Intin%(0),R X%L,R Intout%(0),R Intout%(1))
  643. 64642    Vsin_Mode(2,2)
  644. 64643    VDI (29,Ctrl%(12),Intin%(1),Ptsin%(0,0),Intout%(2),Ptsout%(0,0))
  645. 64644    X%L=Ctrl%(4)
  646. 64645    RETURN
  647. 64646 '
  648. 64647 DEF PROC Vrq_Choice(Intin%(0),R Intout%(0))
  649. 64648    Vsin_Mode(3,1)
  650. 64649    VDI (30,Ctrl%(12),Intin%(1),Ptsin%(0,0),Intout%(1),Ptsout%(0,0))
  651. 64650    RETURN
  652. 64651 '
  653. 64652 DEF PROC Vsm_Choice(R X%L,R Intout%(0))
  654. 64653    Vsin_Mode(3,2)
  655. 64654    VDI (30,Ctrl%(12),Intin%(1),Ptsin%(0,0),Intout%(1),Ptsout%(0,0))
  656. 64655    X%L=Ctrl%(4)
  657. 64656    RETURN
  658. 64657 '
  659. 64658 DEF PROC Vrq_String(Intin%(0),Intin%(1),Ptsin%(0,0),Ptsin%(1,0),R Text$): LOCAL X%L,I%L
  660. 64659    Vsin_Mode(4,1):X%L=Intin%(0)
  661. 64660    VDI (31,Ctrl%(12),Intin%(2),Ptsin%(0,1),Intout%(128),Ptsout%(0,0))
  662. 64661    Text$=""
  663. 64662    IF X%L<0 THEN
  664. 64663       FOR I%L=1 TO Ctrl%(4):Text$=Text$+ MKI$(Intout%(I%L-1)): NEXT
  665. 64664    ELSE
  666. 64665       FOR I%L=1 TO Ctrl%(4):Text$=Text$+ CHR$(Intout%(I%L-1)): NEXT
  667. 64666    ENDIF RETURN
  668. 64667 '
  669. 64668 DEF PROC Vsm_String(Intin%(0),Intin%(1),Ptsin%(0,0),Ptsin%(1,0),R Text$): LOCAL X%L,I%L
  670. 64669    Vsin_Mode(4,2):X%L=Intin%(0)
  671. 64670    VDI (31,Ctrl%(12),Intin%(2),Ptsin%(0,1),Intout%(128),Ptsout%(0,0))
  672. 64671    Text$=""
  673. 64672    IF X%L<0 THEN
  674. 64673       FOR I%L=1 TO Ctrl%(4):Text$=Text$+ MKI$(Intout%(I%L-1)): NEXT
  675. 64674    ELSE
  676. 64675       FOR I%L=1 TO Ctrl%(4):Text$=Text$+ CHR$(Intout%(I%L-1)): NEXT
  677. 64676    ENDIF RETURN
  678. 64677 '
  679. 64678 DEF PROC Vswr_Mode(Intin%(0))
  680. 64679    VDI (32,Ctrl%(12),Intin%(1),Ptsin%(0,0),Intout%(0),Ptsout%(0,0))
  681. 64680    RETURN
  682. 64681 '
  683. 64682 DEF PROC Vsin_Mode(Intin%(0),Intin%(1))
  684. 64683    VDI (33,Ctrl%(12),Intin%(2),Ptsin%(0,0),Intout%(1),Ptsout%(0,0))
  685. 64684    RETURN
  686. 64685 '
  687. 64686 DEF PROC Vql_Attributes(R Intout%(0),R Intout%(1),R Intout%(2),R Intout%(3),R Intout%(4),R Ptsout%(0,0),R Ptsout%(1,0))
  688. 64687    VDI ($10023,Ctrl%(12),Intin%(0),Ptsin%(0,0),Intout%(5),Ptsout%(0,1))
  689. 64688    RETURN
  690. 64689 '
  691. 64690 DEF PROC Vqm_Attributes(R Intout%(0),R Intout%(1),R Intout%(2),R Ptsout%(0,0),R Ptsout%(1,0))
  692. 64691    VDI ($10024,Ctrl%(12),Intin%(0),Ptsin%(0,0),Intout%(3),Ptsout%(0,1))
  693. 64692    RETURN
  694. 64693 '
  695. 64694 DEF PROC Vqf_Attributes(R Intout%(0),R Intout%(1),R Intout%(2),R Intout%(3),R Intout%(4))
  696. 64695    VDI (37,Ctrl%(12),Intin%(0),Ptsin%(0,0),Intout%(5),Ptsout%(0,0))
  697. 64696    RETURN
  698. 64697 '
  699. 64698 DEF PROC Vqt_Attributes(R Intout%(0),R Intout%(1),R Intout%(2),R Intout%(3),R Intout%(4),R Intout%(5),R Ptsout%(0,0),R Ptsout%(1,0),R Ptsout%(0,1),R Ptsout%(1,1))
  700. 64699    VDI ($30026,Ctrl%(12),Intin%(0),Ptsin%(0,0),Intout%(6),Ptsout%(0,2))
  701. 64700    RETURN
  702. 64701 '
  703. 64702 DEF PROC Vst_Alignment(Intin%(0),Intin%(1))
  704. 64703    VDI (39,Ctrl%(12),Intin%(2),Ptsin%(0,0),Intout%(0),Ptsout%(0,0))
  705. 64704    RETURN
  706. 64705 '
  707. 64706 DEF PROC V_Opnwk(X%L)
  708. 64707    V_Opnwk(X%L,1,1,1,1,1,1,1,1,1,2)
  709. 64708    RETURN
  710. 64709 DEF FN V_Opn_Check%L(V%L)
  711. 64710    IF WPEEK(FN Reserved%L(18))=V%L THEN
  712. 64711       V%L=18 ELSE IF WPEEK(FN Reserved%L(20))=V%L THEN
  713. 64712       V%L=20 ELSE IF WPEEK(FN Reserved%L(22))=V%L THEN
  714. 64713       V%L=22 ELSE V%L=0 ENDIF ENDIF ENDIF RETURN V%L
  715. 64714 DEF PROC V_Opnwk(Intin%(0),Intin%(1),Intin%(2),Intin%(3),Intin%(4),Intin%(5),Intin%(6),Intin%(7),Intin%(8),Intin%(9),Intin%(10))
  716. 64715    IF FN V_Opn_Check%L(0)=0 THEN Intout%(6)=0: EXIT
  717. 64716    VDI ($3F0001,Ctrl%(12),Intin%(11),Ptsin%(0,0),Intout%(45),Ptsout%(0,6))
  718. 64717    WPOKE FN Reserved%L(FN V_Opn_Check%L(0)),Ctrl%(6)
  719. 64718    RETURN
  720. 64719 '
  721. 64720 DEF PROC V_Clswk
  722. 64721    IF FN V_Opn_Check%L(Ctrl%(6))=0 THEN EXIT
  723. 64722    VDI (2,Ctrl%(12),Intin%(0),Ptsin%(0,0),Intout%(0),Ptsout%(0,0))
  724. 64723    WPOKE FN Reserved%L(FN V_Opn_Check%L(Ctrl%(6))),0
  725. 64724    RETURN
  726. 64725 '
  727. 64726 DEF PROC V_Opnvwk
  728. 64727    V_Opnvwk(1,1,1,1,1,1,1,1,1,1,2)
  729. 64728    RETURN
  730. 64729 DEF FN V_Opnv_Check%L(V%L)
  731. 64730    IF WPEEK(FN Reserved%L(24))=V%L THEN
  732. 64731       V%L=24 ELSE IF WPEEK(FN Reserved%L(26))=V%L THEN
  733. 64732       V%L=26 ELSE IF WPEEK(FN Reserved%L(28))=V%L THEN
  734. 64733       V%L=28 ELSE V%L=0 ENDIF ENDIF ENDIF RETURN V%L
  735. 64734 DEF PROC V_Opnvwk(Intin%(0),Intin%(1),Intin%(2),Intin%(3),Intin%(4),Intin%(5),Intin%(6),Intin%(7),Intin%(8),Intin%(9),Intin%(10))
  736. 64735    IF FN V_Opnv_Check%L(0)=0 THEN Intout%(6)=0: EXIT
  737. 64736    VDI ($3F0064,Ctrl%(12),Intin%(11),Ptsin%(0,0),Intout%(45),Ptsout%(0,6))
  738. 64737    WPOKE FN Reserved%L(FN V_Opnv_Check%L(0)),Ctrl%(6)
  739. 64738    RETURN
  740. 64739 '
  741. 64740 DEF PROC V_Clsvwk
  742. 64741    IF FN V_Opnv_Check%L(Ctrl%(6))=0 THEN EXIT
  743. 64742    VDI (101,Ctrl%(12),Intin%(0),Ptsin%(0,0),Intout%(0),Ptsout%(0,0))
  744. 64743    WPOKE FN Reserved%L(FN V_Opnv_Check%L(Ctrl%(6))),0
  745. 64744    RETURN
  746. 64745 '
  747. 64746 DEF PROC Vq_Extnd(Intin%(0))
  748. 64747    VDI ($3F0066,Ctrl%(12),Intin%(0),Ptsin%(0,0),Intout%(45),Ptsout%(0,6))
  749. 64748    RETURN
  750. 64749 '
  751. 64750 DEF PROC V_Contourfill(Ptsin%(0,0),Ptsin%(1,0),Intin%(0))
  752. 64751    VDI (103,Ctrl%(12),Intin%(1),Ptsin%(0,1),Intout%(0),Ptsout%(0,0))
  753. 64752    RETURN
  754. 64753 '
  755. 64754 DEF PROC Vsf_Perimeter(Intin%(0))
  756. 64755    VDI (104,Ctrl%(12),Intin%(1),Ptsin%(0,0),Intout%(0),Ptsout%(0,0))
  757. 64756    RETURN
  758. 64757 '
  759. 64758 DEF PROC V_Get_Pixel(Ptsin%(0,0),Ptsin%(1,0),R Intout%(0),R Intout%(1))
  760. 64759    VDI (105,Ctrl%(12),Intin%(0),Ptsin%(0,1),Intout%(2),Ptsout%(0,0))
  761. 64760    RETURN
  762. 64761 '
  763. 64762 DEF PROC Vst_Effects(Intin%(0))
  764. 64763    VDI (106,Ctrl%(12),Intin%(1),Ptsin%(0,0),Intout%(0),Ptsout%(0,0))
  765. 64764    RETURN
  766. 64765 '
  767. 64766 DEF PROC Vst_Point(Intin%(0))
  768. 64767    VDI ($3006B,Ctrl%(12),Intin%(1),Ptsin%(0,0),Intout%(0),Ptsout%(0,2))
  769. 64768    RETURN
  770. 64769 DEF PROC Vst_Point(Intin%(0),Ptsout%(0,0),Ptsout%(1,0),Ptsout%(0,1),Ptsout%(1,1))
  771. 64770    VDI ($3006B,Ctrl%(12),Intin%(1),Ptsin%(0,0),Intout%(0),Ptsout%(0,2))
  772. 64771    RETURN
  773. 64772 '
  774. 64773 DEF PROC Vsl_Ends(Intin%(0),Intin%(1))
  775. 64774    VDI (108,Ctrl%(12),Intin%(2),Ptsin%(0,0),Intout%(0),Ptsout%(0,0))
  776. 64775    RETURN
  777. 64776 '
  778. 64777 DEF PROC Vro_Cpyfm(X%L,Y%L,Intin%(0),Ptsin%(0,0),Ptsin%(1,0),Ptsin%(0,1),Ptsin%(1,1),Ptsin%(0,2),Ptsin%(1,2),Ptsin%(0,3),Ptsin%(1,3))
  779. 64778    Ctrl%(7)= HIGH(X%L):Ctrl%(8)= LOW(X%L):Ctrl%(9)= HIGH(Y%L):Ctrl%(10)= LOW(Y%L)
  780. 64779    VDI (109,Ctrl%(12),Intin%(1),Ptsin%(0,4),Intout%(0),Ptsout%(0,0))
  781. 64780    RETURN
  782. 64781 '
  783. 64782 DEF PROC Vr_Trnfm(X%L,Y%L)
  784. 64783    Ctrl%(7)= HIGH(X%L):Ctrl%(8)= LOW(X%L):Ctrl%(9)= HIGH(Y%L):Ctrl%(10)= LOW(Y%L)
  785. 64784    VDI (110,Ctrl%(12),Intin%(0),Ptsin%(0,0),Intout%(0),Ptsout%(0,0))
  786. 64785    RETURN
  787. 64786 '
  788. 64787 DEF PROC Vsc_Form(Intin%(0),Intin%(1),Intin%(2),Intin%(3),Intin%(4),Text$)
  789. 64788    LOCAL I%L: FOR I%L=0 TO 31:Intin%(I%L+5)= CVI( MID$(Text$,I%L*2+1)): NEXT
  790. 64789    VDI (111,Ctrl%(12),Intin%(37),Ptsin%(0,0),Intout%(0),Ptsout%(0,0))
  791. 64790    RETURN
  792. 64791 '
  793. 64792 DEF PROC Vsf_Udpat(X%L)
  794. 64793    VDI (112,Ctrl%(12),Intin%(X%L*16),Ptsin%(0,0),Intout%(0),Ptsout%(0,0))
  795. 64794    RETURN
  796. 64795 '
  797. 64796 DEF PROC Vex_Timv(R X%L,R Intout%(0))
  798. 64797    Ctrl%(7)= HIGH(X%L):Ctrl%(8)= LOW(X%L)
  799. 64798    VDI (118,Ctrl%(12),Intin%(0),Ptsin%(0,0),Intout%(0),Ptsout%(0,0))
  800. 64799    X%L=Ctrl%(9) SHL 16 OR Ctrl%(10) AND $FFFF
  801. 64800    RETURN
  802. 64801 '
  803. 64802 DEF PROC Vsl_Udsty(Intin%(0))
  804. 64803    VDI (113,Ctrl%(12),Intin%(1),Ptsin%(0,0),Intout%(0),Ptsout%(0,0))
  805. 64804    RETURN
  806. 64805 '
  807. 64806 DEF PROC V_Recfl(Ptsin%(0,0),Ptsin%(1,0),Ptsin%(0,1),Ptsin%(1,1))
  808. 64807    VDI (114,Ctrl%(12),Intin%(0),Ptsin%(0,2),Intout%(0),Ptsout%(0,0))
  809. 64808    RETURN
  810. 64809 '
  811. 64810 DEF PROC Vqin_Mode(Intin%(0),R Intout%(0))
  812. 64811    VDI (115,Ctrl%(12),Intin%(1),Ptsin%(0,0),Intout%(1),Ptsout%(0,0))
  813. 64812    RETURN
  814. 64813 '
  815. 64814 DEF PROC Vqt_Name(Intin%(0),R Intout%(0),R Text$)
  816. 64815    LOCAL I%L
  817. 64816    VDI (130,Ctrl%(12),Intin%(1),Ptsin%(0,0),Intout%(32),Ptsout%(0,0))
  818. 64817    Text$=""
  819. 64818    FOR I%L=1 TO 32:Text$=Text$+ CHR$(Intout%(I%L)): NEXT
  820. 64819    RETURN
  821. 64820 '
  822. 64821 DEF PROC Vqt_Fontinfo(R Intout%(0),R Intout%(1))
  823. 64822    VDI ($1F0083,Ctrl%(12),Intin%(0),Ptsin%(0,0),Intout%(2),Ptsout%(0,5))
  824. 64823    RETURN
  825. 64824 '
  826. 64825 DEF PROC Vq_Chcells(R Intout%(0),R Intout%(1))
  827. 64826    Ctrl%(5)=1
  828. 64827    VDI (5,Ctrl%(12),Intin%(0),Ptsin%(0,0),Intout%(2),Ptsout%(0,0))
  829. 64828    RETURN
  830. 64829 '
  831. 64830 DEF PROC V_Exit_Cur
  832. 64831    PRINT CHR$(27);"f"; CHR$(27);"E";: RETURN
  833. 64832 '
  834. 64833 DEF PROC V_Enter_Cur
  835. 64834    PRINT CHR$(27);"E"; CHR$(27);"e";: RETURN
  836. 64835 '
  837. 64836 DEF PROC V_Curup
  838. 64837    PRINT CHR$(27);"A";: RETURN
  839. 64838 '
  840. 64839 DEF PROC V_Curdown
  841. 64840    PRINT CHR$(27);"B";: RETURN
  842. 64841 '
  843. 64842 DEF PROC V_Curright
  844. 64843    PRINT CHR$(27);"C";: RETURN
  845. 64844 '
  846. 64845 DEF PROC V_Curleft
  847. 64846    PRINT CHR$(27);"D";: RETURN
  848. 64847 '
  849. 64848 DEF PROC V_Curhome
  850. 64849    PRINT CHR$(27);"H";: RETURN
  851. 64850 '
  852. 64851 DEF PROC V_Eeos
  853. 64852    PRINT CHR$(27);"J";: RETURN
  854. 64853 '
  855. 64854 DEF PROC V_Eeol
  856. 64855    PRINT CHR$(27);"K";: RETURN
  857. 64856 '
  858. 64857 DEF PROC V_Curaddress(Y%L,X%L)
  859. 64858    PRINT @(Y%L-1,X%L-1);: RETURN
  860. 64859 '
  861. 64860 DEF PROC V_Curtext(Text$)
  862. 64861    PRINT Text$;: RETURN
  863. 64862 '
  864. 64863 DEF PROC V_Rvon
  865. 64864    PRINT CHR$(27);"p";: RETURN
  866. 64865 '
  867. 64866 DEF PROC V_Rvoff
  868. 64867    PRINT CHR$(27);"q";: RETURN
  869. 64868 '
  870. 64869 DEF PROC Vq_Curaddress(R Y%L,R X%L)
  871. 64870    Y%L= CSRLIN :X%L= POS(0)+1: RETURN
  872. 64871 '
  873. 64872 DEF PROC Vq_Tabstatus(R Intout%(0))
  874. 64873    Ctrl%(5)=16
  875. 64874    VDI (5,Ctrl%(12),Intin%(0),Ptsin%(0,0),Intout%(1),Ptsout%(0,0))
  876. 64875    RETURN
  877. 64876 '
  878. 64877 DEF PROC V_Hardcopy
  879. 64878    HCOPY : RETURN
  880. 64879 '
  881. 64880 DEF PROC V_Dspcur(Ptsin%(0,0),Ptsin%(1,0))
  882. 64881    Ctrl%(5)=18
  883. 64882    VDI (5,Ctrl%(12),Intin%(0),Ptsin%(0,1),Intout%(0),Ptsout%(0,0))
  884. 64883    RETURN
  885. 64884 '
  886. 64885 DEF PROC V_Rmcur
  887. 64886    Ctrl%(5)=19
  888. 64887    VDI (5,Ctrl%(12),Intin%(0),Ptsin%(0,0),Intout%(0),Ptsout%(0,0))
  889. 64888    RETURN
  890. 64889 '
  891. 64890 DEF PROC V_Form_Adv
  892. 64891    Ctrl%(5)=20
  893. 64892    VDI (5,Ctrl%(12),Intin%(0),Ptsin%(0,0),Intout%(0),Ptsout%(0,0))
  894. 64893    RETURN
  895. 64894 '
  896. 64895 DEF PROC V_Output_Window(Ptsin%(0,0),Ptsin%(1,0),Ptsin%(0,1),Ptsin%(1,1))
  897. 64896    Ctrl%(5)=21
  898. 64897    VDI (5,Ctrl%(12),Intin%(0),Ptsin%(0,2),Intout%(0),Ptsout%(0,0))
  899. 64898    RETURN
  900. 64899 '
  901. 64900 DEF PROC V_Clear_Disp_List
  902. 64901    Ctrl%(5)=22
  903. 64902    VDI (5,Ctrl%(12),Intin%(0),Ptsin%(0,0),Intout%(0),Ptsout%(0,0))
  904. 64903    RETURN
  905. 64904 '
  906. 64905 DEF PROC V_Bit_Image(Text$,Intin%(0),Intin%(1),X%L,Ptsin%(0,0),Ptsin%(1,0),Ptsin%(0,1),Ptsin%(1,1))
  907. 64906    LOCAL I%L:Intin%(2)=0
  908. 64907    Ctrl%(5)=23
  909. 64908    IF LEN(Text$) THEN
  910. 64909       FOR I%L=1 TO LEN(Text$):Intin%(I%L+1)= ASC( MID$(Text$,I%L,1)): NEXT :Intin%(I%L+1)=0
  911. 64910    ENDIF
  912. 64911    VDI (5,Ctrl%(12),Intin%( LEN(Text$)+2),Ptsin%(0,X%L),Intout%(0),Ptsout%(0,0))
  913. 64912    RETURN
  914. 64913 '
  915. 64914 DEF PROC Vq_Scan(R Intout%(0),R Intout%(1),R Intout%(2),R Intout%(3),R Intout%(4))
  916. 64915    Ctrl%(5)=24
  917. 64916    VDI (5,Ctrl%(12),Intin%(0),Ptsin%(0,0),Intout%(5),Ptsout%(0,0))
  918. 64917    RETURN
  919. 64918 '
  920. 64919 DEF PROC V_Alpha_Text(Text$): LOCAL I%L,L%L= LEN(Text$)
  921. 64920    Ctrl%(5)=25: FOR I%L=1 TO L%L:Intin%(I%L-1)= ASC( MID$(Text$,I%L,1)): NEXT :Intin%(L%L)=0
  922. 64921    VDI (5,Ctrl%(12),Intin%(L%L+1),Ptsin%(0,0),Intout%(1),Ptsout%(0,0))
  923. 64922    RETURN
  924. 64923 '
  925. 64924 DEF PROC Vs_Palette(Intin%(0))
  926. 64925    Ctrl%(5)=60
  927. 64926    VDI (5,Ctrl%(12),Intin%(1),Ptsin%(0,0),Intout%(0),Ptsout%(0,0))
  928. 64927    RETURN
  929. 64928 '
  930. 64929 DEF PROC Vqp_Films(R Text$)
  931. 64930    Ctrl%(5)=91:Text$=""
  932. 64931    VDI (5,Ctrl%(12),Intin%(0),Ptsin%(0,0),Intout%(125),Ptsout%(0,0))
  933. 64932    FOR I%L=0 TO 124:Text$=Text$+ CHR$(Intout%(I%L)): NEXT
  934. 64933    RETURN
  935. 64934 '
  936. 64935 DEF PROC Vqp_State
  937. 64936    Ctrl%(5)=92
  938. 64937    VDI (5,Ctrl%(12),Intin%(0),Ptsin%(0,0),Intout%(21),Ptsout%(0,0))
  939. 64938    RETURN
  940. 64939 '
  941. 64940 DEF PROC Vsp_State
  942. 64941    Ctrl%(5)=93
  943. 64942    VDI (5,Ctrl%(12),Intin%(21),Ptsin%(0,0),Intout%(0),Ptsout%(0,0))
  944. 64943    RETURN
  945. 64944 '
  946. 64945 DEF PROC Vsp_Save
  947. 64946    Ctrl%(5)=94
  948. 64947    VDI (5,Ctrl%(12),Intin%(0),Ptsin%(0,0),Intout%(0),Ptsout%(0,0))
  949. 64948    RETURN
  950. 64949 '
  951. 64950 DEF PROC Vsp_Message
  952. 64951    Ctrl%(5)=95
  953. 64952    VDI (5,Ctrl%(12),Intin%(0),Ptsin%(0,0),Intout%(0),Ptsout%(0,0))
  954. 64953    RETURN
  955. 64954 '
  956. 64955 DEF PROC Vqp_Error(R Intout%(0))
  957. 64956    Ctrl%(5)=96
  958. 64957    VDI (5,Ctrl%(12),Intin%(0),Ptsin%(0,0),Intout%(0),Ptsout%(0,0))
  959. 64958    RETURN
  960. 64959 '
  961. 64960 DEF PROC V_Meta_Extents(Ptsin%(0,0),Ptsin%(1,0),Ptsin%(0,1),Ptsin%(1,1))
  962. 64961    Ctrl%(5)=98
  963. 64962    VDI (5,Ctrl%(12),Intin%(0),Ptsin%(0,2),Intout%(0),Ptsout%(0,0))
  964. 64963    RETURN
  965. 64964 '
  966. 64965 DEF PROC V_Write_Meta(X%L,Intin%(0),Y%L)
  967. 64966    Ctrl%(5)=99
  968. 64967    VDI (5,Ctrl%(12),Intin%(X%L+1),Ptsin%(0,Y%L),Intout%(0),Ptsout%(0,0))
  969. 64968    RETURN
  970. 64969 '
  971. 64970 DEF PROC Vm_Filename(Text$)
  972. 64971    LOCAL I%L:Intin%(0)=0
  973. 64972    IF LEN(Text$) THEN
  974. 64973       FOR I%L=1 TO LEN(Text$):Intin%(I%L-1)= ASC( MID$(Text$,I%L,1)): NEXT :Intin%(I%L+1)=0
  975. 64974    ENDIF
  976. 64975    Ctrl%(5)=100
  977. 64976    VDI (5,Ctrl%(12),Intin%( LEN(Text$)),Ptsin%(0,0),Intout%(0),Ptsout%(0,0))
  978. 64977    RETURN
  979. 64978 '
  980. 64979 DEF PROC Vs_Scanline(Intin%(0))
  981. 64980    Ctrl%(5)=101
  982. 64981    VDI (5,Ctrl%(12),Intin%(1),Ptsin%(0,0),Intout%(1),Ptsout%(0,0))
  983. 64982    RETURN
  984. 64983 '
  985. 64984 DEF PROC Vs_Sysfont(X%L)
  986. 64985    Ctrl%(5)=102:Intin%(0)= HIGH(X%L):Intin%(1)= LOW(X%L)
  987. 64986    VDI (5,Ctrl%(12),Intin%(2),Ptsin%(0,0),Intout%(1),Ptsout%(0,0))
  988. 64987    RETURN
  989. 64988 '
  990. 64989 DEF PROC Vqt_Extent(Text$,R Ptsout%(0,0),R Ptsout%(1,0),R Ptsout%(0,1),R Ptsout%(1,1),R Ptsout%(0,2),R Ptsout%(1,2),R Ptsout%(0,3),R Ptsout%(1,3))
  991. 64990    LOCAL I%L
  992. 64991    FOR I%L=1 TO LEN(Text$):Intin%(I%L-1)= ASC( MID$(Text$,I%L)): NEXT
  993. 64992    VDI ($F0074,Ctrl%(12),Intin%(I%L-1),Ptsin%(0,0),Intout%(4),Ptsout%(0,4))
  994. 64993    RETURN
  995. 64994 '
  996. 64995 DEF PROC Vqt_Width(Intin%(0),R Intout%(0),R Ptsout%(0,0),R Ptsout%(0,1),R Ptsout%(0,2))
  997. 64996    VDI ($70075,Ctrl%(12),Intin%(1),Ptsin%(0,0),Intout%(1),Ptsout%(0,3))
  998. 64997    RETURN
  999. 64998 '
  1000. 64999 DEF PROC Vq_Cellarray(Ptsin%(0,0),Ptsin%(1,0),Ptsin%(0,1),Ptsin%(1,1),Ctrl%(7),Ctrl%(8),R X%L,R Y%L,R I%L)
  1001. 65000    X%L=Ctrl%(7)*Ctrl%(8)
  1002. 65001    VDI (27,Ctrl%(11),Intin%(0),Ptsin%(0,2),Intout%(X%L),Ptsout%(0,0))
  1003. 65002    X%L=Ctrl%(9):Y%L=Ctrl%(10):I%L=Ctrl%(11)
  1004. 65003    RETURN
  1005. 65004 '
  1006. 65005 DEF PROC Vrt_Cpyfm(X%L,Y%L,Intin%(0),Intin%(1),Intin%(2),Ptsin%(0,0),Ptsin%(1,0),Ptsin%(0,1),Ptsin%(1,1),Ptsin%(0,2),Ptsin%(1,2),Ptsin%(0,3),Ptsin%(1,3))
  1007. 65006    Ctrl%(7)= HIGH(X%L):Ctrl%(8)= LOW(X%L):Ctrl%(9)= HIGH(Y%L):Ctrl%(10)= LOW(Y%L)
  1008. 65007    VDI (121,Ctrl%(12),Intin%(3),Ptsin%(0,4),Intout%(0),Ptsout%(0,0))
  1009. 65008    RETURN
  1010. 65009 '
  1011. 65010 DEF PROC V_Show_C:V_Show_C(0): RETURN
  1012. 65011 DEF PROC V_Show_C(Intin%(0))
  1013. 65012    VDI (122,Ctrl%(12),Intin%(1),Ptsin%(0,0),Intout%(0),Ptsout%(0,0))
  1014. 65013    RETURN
  1015. 65014 '
  1016. 65015 DEF PROC V_Hide_C
  1017. 65016    VDI (123,Ctrl%(12),Intin%(0),Ptsin%(0,0),Intout%(0),Ptsout%(0,0))
  1018. 65017    RETURN
  1019. 65018 '
  1020. 65019 DEF PROC Vq_Mouse(R Intout%(0),R Ptsout%(0,0),R Ptsout%(1,0))
  1021. 65020    VDI (124,Ctrl%(12),Intin%(0),Ptsin%(0,0),Intout%(1),Ptsout%(0,1))
  1022. 65021    RETURN
  1023. 65022 '
  1024. 65023 DEF PROC Vex_Butv(R X%L)
  1025. 65024    Ctrl%(7)= HIGH(X%L):Ctrl%(8)= LOW(X%L)
  1026. 65025    VDI (125,Ctrl%(12),Intin%(0),Ptsin%(0,0),Intout%(0),Ptsout%(0,0))
  1027. 65026    X%L=Ctrl%(9) SHL 16 OR Ctrl%(10) AND $FFFF
  1028. 65027    RETURN
  1029. 65028 '
  1030. 65029 DEF PROC Vex_Motv(R X%L)
  1031. 65030    Ctrl%(7)= HIGH(X%L):Ctrl%(8)= LOW(X%L)
  1032. 65031    VDI (126,Ctrl%(12),Intin%(0),Ptsin%(0,0),Intout%(0),Ptsout%(0,0))
  1033. 65032    X%L=Ctrl%(9) SHL 16 OR Ctrl%(10) AND $FFFF
  1034. 65033    RETURN
  1035. 65034 '
  1036. 65035 DEF PROC Vex_Curv(R X%L)
  1037. 65036    Ctrl%(7)= HIGH(X%L):Ctrl%(8)= LOW(X%L)
  1038. 65037    VDI (127,Ctrl%(12),Intin%(0),Ptsin%(0,0),Intout%(0),Ptsout%(0,0))
  1039. 65038    X%L=Ctrl%(9) SHL 16 OR Ctrl%(10) AND $FFFF
  1040. 65039    RETURN
  1041. 65040 '
  1042. 65041 DEF PROC Vq_Key_S(R Intout%(0))
  1043. 65042    VDI (128,Ctrl%(12),Intin%(0),Ptsin%(0,0),Intout%(1),Ptsout%(0,0))
  1044. 65043    RETURN
  1045. 65044 '
  1046. 65045 DEF PROC Vs_Clip(Ptsin%(0,0),Ptsin%(1,0),Ptsin%(0,1),Ptsin%(1,1))
  1047. 65046    Intin%(0)=1
  1048. 65047    VDI (129,Ctrl%(12),Intin%(1),Ptsin%(0,4),Intout%(0),Ptsout%(0,0))
  1049. 65048    RETURN
  1050. 65049 '
  1051. 65050 DEF PROC Vs_Clip:Intin%(0)=0
  1052. 65051    VDI (129,Ctrl%(12),Intin%(1),Ptsin%(0,4),Intout%(0),Ptsout%(0,0))
  1053. 65052    RETURN
  1054. 65053 '
  1055. 65054 DEF PROC V_Clrwk
  1056. 65055    VDI (3,Ctrl%(12),Intin%(0),Ptsin%(0,0),Intout%(0),Ptsout%(0,0))
  1057. 65056    RETURN
  1058. 65057 '
  1059. 65058 DEF PROC V_Updwk
  1060. 65059    VDI (4,Ctrl%(12),Intin%(0),Ptsin%(0,0),Intout%(0),Ptsout%(0,0))
  1061. 65060    RETURN
  1062. 65061 '
  1063. 65062 DEF PROC Vst_Load_Fonts(R X%L)
  1064. 65063    Intin%(0)=X%L' RESERVED FOR FUTURE USE
  1065. 65064    VDI (119,Ctrl%(12),Intin%(1),Ptsin%(0,0),Intout%(0),Ptsout%(0,0))
  1066. 65065    X%L=Intout%(0)
  1067. 65066    RETURN
  1068. 65067 '
  1069. 65068 DEF PROC Vst_Unload_Fonts(Intin%(0))
  1070. 65069    VDI (120,Ctrl%(12),Intin%(1),Ptsin%(0,0),Intout%(0),Ptsout%(0,0))
  1071. 65070    RETURN
  1072. 65071 '
  1073. 65072 DEF PROC Vs_Ndc
  1074. 65073    WPOKE LPEEK( SEGPTR -24),0
  1075. 65074    RETURN
  1076. 65075 '
  1077. 65076 DEF PROC Vs_Ndc(X%L,Y%L,W%L,H%L): LOCAL I%L
  1078. 65077    I%L= LPEEK( SEGPTR -24): WPOKE I%L,$FFFF: WPOKE I%L+2,X%L: WPOKE I%L+4,Y%L: WPOKE I%L+6,W%L-X%L+1: WPOKE I%L+8,H%L-Y%L+1
  1079. 65078    RETURN
  1080. 65079 '
  1081. 65080 ' Patchen von Fehlern in BASIC V 3.0 / 3.00  ( MEMORY_MOVEB / VS_NDC )
  1082. 65081 '
  1083. 65082 DEF PROC Patch_Basic(Nr%L,Offset%L,V_Old%L,V_New%L): LOCAL X%L
  1084. 65083    IF LPEEK( SEGPTR +20)=0 THEN EXIT
  1085. 65084    X%L= LPEEK( SEGPTR -36):X%L=X%L+ WPEEK(X%L+Nr%L*2)+Offset%L
  1086. 65085    IF WPEEK(X%L)=V_Old%L THEN WPOKE X%L,V_New%L
  1087. 65086    RETURN
  1088. 65087 '
  1089. 65088 ' Simulation der Funktion RESERVED für OMIKRON.BASIC V3.0
  1090. 65089 '
  1091. 65090 DEF FN Reserved%L(X%L)= LPEEK( SEGPTR -28)+6+X%L
  1092. ə